package br.edu.fucapi.remo.control.mb;

import java.util.List;

import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

import br.edu.fucapi.remo.model.bean.Lancamento;
import br.edu.fucapi.remo.model.dao.DAO;

@ViewScoped
@ManagedBean
public class LancamentoBean{
	private Lancamento lancamento = new Lancamento();
	private List<Lancamento> lancamentos;

	@PostConstruct
	public void carregarLancamentos(){
		lancamentos = new DAO<Lancamento>(Lancamento.class)
					.listaTodos();
	}
	
	public Lancamento getLancamento() {
		return lancamento;
	}

	public List<Lancamento> getLancamentos() {
		return lancamentos;
	}
	public void setLancamento(Lancamento lancamento) {
		this.lancamento = lancamento;
	}
	public void salvar(){
		DAO<Lancamento> dao = new DAO<Lancamento>(Lancamento.class);
		if (lancamento.getId() == null) {
			dao.adiciona(lancamento);
		} else {
			dao.atualiza(lancamento);
		}
		this.lancamento = new Lancamento();
		this.lancamentos = dao.listaTodos();
	}
	public void remover(){
		DAO<Lancamento> dao = new DAO<Lancamento>(Lancamento.class);
		dao.remove(this.lancamento);
		this.lancamento = new Lancamento();
		this.lancamentos = dao.listaTodos();
	}
}